package com.fh.alipay.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * @author fh
 * @date 2022-05-04
 * @description 订单表实体对象
 */
@Data
@EqualsAndHashCode(callSuper = false)
@NoArgsConstructor
@TableName("ali_order")
public class Order implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 创建时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;

    /**
     * 交易完成时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime chargeFinishTime;

    /**
     * 商品编号
     */
    private Integer productId;

    /**
     * 商品名称
     */
    private String productName;

    /**
     * 外部订单号
     */
    private String customerOrderNo;

    /**
     * 订单状态： （success：成功，processing：处理中，failed：失败，untreated：未处理）
     */
    private String orderStatus;

    /**
     * 充值账号，直充产品必须，一般为手机号
     */
    private String chargeAccount;

    /**
     * 账号类型：默认手机号：mobile，其他可选：qq（qq号），类型后期会持续增加
     */
    private String accountType;

    /**
     * 购买数量
     */
    private Integer buyNum;

    /**
     * 充值游戏名称
     */
    private String chargeGameName;

    /**
     * 充值游戏区
     */
    private String chargeGameRegion;

    /**
     * 充值游戏服
     */
    private String chargeGameSrv;

    /**
     * 充值类型
     */
    private String chargeType;

    /**
     * 充值密码，部分游戏类要传
     */
    private String chargePassword;

    /**
     * 下单真实Ip，区域商品/QB要传
     */
    private String chargeIp;

    /**
     * 联系QQ
     */
    private String contactQq;

    /**
     * 联系电话
     */
    private String contactTel;

    /**
     * 剩余数量
     */
    private Integer remainingNumber;

    /**
     * 充值游戏角色
     */
    private String chargeGameRole;

    /**
     * 外部销售价
     */
    private String customerPrice;

    /**
     * 店铺类型（PDD、淘宝、天猫、京东、苏宁、其他；非必填字段，可忽略
     */
    private String shopType;

    /**
     * 平台订单号
     */
    private String orderId;


}
